#ifndef ZIYA_LINUX_MEMORY_BOOTPARAM_H
#define ZIYA_LINUX_MEMORY_BOOTPARAM_H
#include "types.h"

#define E820_MAX_ENTRIES_ZEROPAGE 128

struct boot_e820_entry 
{
    union 
    {
        u64 addr;
        struct {
            u32 low;
            u32 high;
        };
    } addr;
    union 
    {
        u64 size;
        struct {
            u32 low;
            u32 high;
        };
    } size;
    u32 type;
} __attribute__((packed));

struct boot_params 
{
    u16 boot_e820_entry_nr;
    struct boot_e820_entry e820_table[E820_MAX_ENTRIES_ZEROPAGE];
};

void print_boot_e820_table();
#endif